package model.document;

import java.util.ArrayList;

import model.tampon.Stackable;

public class Texte implements Stackable {
	private ArrayList<Ligne> lignes;
	private Section sectionParente;
	
	public Texte(Section sectionParente){
		this.sectionParente=sectionParente;
		this.lignes= new ArrayList<Ligne>();
	}
	
	public Texte(String string) {
		this.lignes = new ArrayList<Ligne>();
		lignes.add(new Ligne(string, this));
		this.sectionParente=null;
	}

	public String toString(){
		String aR="";
		for (Ligne l : this.getLignes()){
			aR+= l.toString();
		}
		return aR;
	}

	public int getSize(){
		int i = 0;
		for (Ligne l : this.getLignes()){
			i+= l.getSize();
		}
		return i;
	}

	public Ligne getLigne(int i){
		return this.getLignes().get(i);
	}

	public void addLigne(Ligne ligne, int position){
		this.getLignes().add(position, ligne);
	}
	

	public ArrayList<Ligne> getLignes() {
		return lignes;
	}

	public void setLignes(ArrayList<Ligne> lignes) {
		this.lignes = lignes;
	}


	public Section getSectionParente() {
		return sectionParente;
	}

	public void setSectionParente(Section sectionParente) {
		this.sectionParente = sectionParente;
	}
	
	//Ajoute une ligne apres celle precisee en second parametre
	public void addLigne(Ligne ligneAAjouter, Ligne lignePrecedante) {
		int position = this.getLignes().indexOf(lignePrecedante) + 1;
		this.addLigne(ligneAAjouter, position);
	}
}